/**
 * 资源（菜单）管理页面
 * @author dingguangyi Ycdr
 * @date 2018年6月23日
 */
define(['jquery','layer','pathEnume','rest','fromUtil','bootstrap','bstable','bstableZHCN','bsvalidator'],
    function ($, Layer, PathEnume, Rest,FromUtil) {

    /**
     * 资源页面表格初始化
     */
    var tableInit = function () {
        $('#table').bootstrapTable({
            url: PathEnume.TABLE_LIST_JSON,         //请求后台的URL（*）
            method: 'GET',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: true,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParamsType:'',
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            strictSearch: false,
            clickToSelect: false,                //是否启用点击选中行
            //height: 460,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "id",                     //每一行的唯一标识，一般为主键列
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            showHeader:true,                   //隐藏标题头
            search:true,
            showColumns:true,                   //是否显示 内容列下拉框
            showRefresh:true,                   //是否显示 刷新按钮
            //showToggle:true,                    //是否显示 切换试图（table/card）按钮
            //showPaginationSwitch:true,          //是否显示 数据条数选择框
            checkboxHeader:true,
            searchText:'',
            formatSearch: function () {
                return '权限名称';
            },
            columns: [{
                checkbox:true
            },{
                field: 'id',
                title: '权限ID',
                visible:false
            },{
                field: 'aclModuleId',
                title: '上级权限ID',
                visible:false
            },{
                field: 'name',
                title: '权限名称',
            },{
                field: 'icon',
                title: '图标',
                align: 'center'
            }, {
                field: 'type',
                align: 'center',
                title: '权限类型',
                formatter:function (value,row, index) {
                    if(value=="0"){
                        return "菜单面板"
                    }
                    if(value=="1"){
                        return "菜单"
                    }
                    if(value=="2"){
                        return "功能"
                    }
                    if(value=="3"){
                        return "功能面板"
                    }
                }
            }, {
                field: 'seq',
                align: 'center',
                title: '权限顺序',
                sortable: true
            },{
                field: 'status',
                align: 'center',
                title: '权限状态'
            },{
                field: 'url',
                align: 'center',
                title: '资源路径'
            },{
                field: 'remark',
                align: 'center',
                title: '资源描述',
                visible:false
            },{
                field: 'operateTime',
                align: 'center',
                title: '更新时间'
            },{
                field: 'operate',
                title: '操作',
                align: 'center'
            }]
        });
    }

    /**
     * 添加页面跳转方法
     */
    var aclAddPage = function (callback) {
        top.layer.open({
            id:'addAcl',
            type: 2,
            title: '添加权限',
            btn: ['添加', '关闭'],
            maxmin: false, //最大最小化
            shadeClose: false, //点击遮罩关闭层
            area : ['720px' , '550px'],
            content: PathEnume.ACL_ADDPAGE,
            yes: callback,
            btn2: function(index, layero){
                layer.close(index);
                return;
            },end:function () {
                refreshTable();
            }
        });
    }

    /**
     * 上级菜单列表
     */
    var aclParentTree = function () {
        Rest.getContTypeJson(PathEnume.ACL_PARENT_TREE,null,true,function (data) {
            var tree=$("#aclParentId").html();
            tree+="<option value='0'>=====未选择=====</option>";
            $.each(data.data,function (index,item) {
                if(item.aclParentId=="0"){
                    tree+="<option value='"+item.id+"'>"+item.aclName+"</option>";
                }else{
                    tree+="<option value='"+item.id+"' parent='"+item.aclParentId+"'>"+item.aclName+"</option>";
                }
            })
            $("#aclParentId").html(tree);
        });
    }
    /**
     * table 表格刷新
     */
    var refreshTable=function refreshTable() {
        $('#table').bootstrapTable('refresh');
    }
    return{
        tableInit:tableInit,
        aclAddPage:aclAddPage,
        aclParentTree:aclParentTree
    }
})